using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoCheque
    {
        public Cheque Inserir(Cheque cheque, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(cheque);
        }

        public Cheque Atualizar(Cheque cheque, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(cheque);
        }

        public void Excluir(Cheque cheque, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(cheque);
        }

        public Cheque ObterChequePorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterChequePorId(id);
        }

        public IList<Cheque> ObterTodosCheques(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosCheques();
        }

        public IList<Cheque> ObterTodosCheques(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, int enumTipoCheque,
                                        string numero, Pessoa titular, Pessoa destinatario, ContaBanco contaBanco, DateTime? bomParaDe,
                                        DateTime? bomParaAte, DateTime? emissaoDe, DateTime? emissaoAte)
        {
            return Fachada.GetInstancia().ObterTodosCheques(inicio, quantidade, quantidadeMinima, usuarioPermissao, (EnumTipoCheque) enumTipoCheque, numero,
                                                            titular, destinatario, contaBanco, bomParaDe, bomParaAte, emissaoDe, emissaoAte);
        }
    }
}